/*
 * Copyright (c) 2021 Tero Hänninen.
 * SPDX-License-Identifier: BSD-2-Clause
 *
 * Bindings to parts of libc and system api depending on how things
 * work on each platform.
 *
 * On most unix like systems, things are mostly done through libc except
 * on macos, where libSystem is used instead. On Windows, it seems it's
 * best to call kernel32.dll and user32.dll because libc is utterly
 * unstable. Even malloc is not used there.
 *
 * The most practical reference I could find:
 *   https://github.com/rust-lang/libc/blob/master/src
 */

#setup[unix] {
    private module unix;
    public import self.sys.unix <- void;
} #else #setup[windows] {
    private module windows;
    public import self.sys.windows <- void;
}
